//
//  XMGSettingViewController.m
//  BuDeJie19
//
//  Created by hjj on 2016/12/3.
//  Copyright © 2016年 hjjuny. All rights reserved.
//
#import "XMGSettingViewController.h"
#import <SDImageCache.h>
#import "XMGFileManager.h"

/*
 获取文件夹尺寸 => 遍历文件夹所有文件，把文件尺寸累加
 
 1.创建文件管理者
 2.获取文件夹路径
 3.获取文件夹里面所有子路径
 4.遍历所有子路径
 5.拼接 文件全路径
 6.attributesOfItemAtPath: 指定文件全路径，就能获取文件属性
 7.获取文件尺寸
 8.累加
 */

/*
 1.NSFileManager分类
 
 2.抽取一个业务类，专门处理某项业务逻辑
 
 为什么搞框架思想（MVC,MVCS,MVVM,MVP,VIPER）
 1.是代码业务逻辑比较清晰
 2.一个类中代码不要太多
 
 MVCS:
 S:service服务，业务，工具类，专门处理某项业务逻辑
 使用场景：1.处理文件 2.网络业务类，专门去加载网络 3.离线缓存业务类 4.App配置业务类
 */

#import <SVProgressHUD.h>


static NSString * const ID = @"cell";

@interface XMGSettingViewController ()
@property (nonatomic, strong) NSString *str;

@end

@implementation XMGSettingViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [SVProgressHUD showWithStatus:@"正在计算缓存尺寸..."];
    
    [XMGFileManager directorySizeString:CachePath completion:^(NSString *str) {
        
        [SVProgressHUD dismiss];
        
        _str = str;
        
        [self.tableView reloadData];
        
    }];
    
    [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:ID];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 1;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
    
    cell.textLabel.text = _str;
    
    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    
    // 清除缓存
    [XMGFileManager removeDirectoryPath:CachePath];
    
    _str = @"清除缓存";
  
    // 刷新表格
    [self.tableView reloadData];
}

@end
